Dokumente kategorisieren
Was du nach diesem Kapitel kannst: Du kennst zwei grundlegende Strategien zur Dokumentenkategorisierung in 42°OS — format-basiert und inhaltsbasiert — und weißt, wann du welche einsetzt. Du kannst einen Kategorisierungs-Workflow mit dem Generative AI Agent aufbauen, einen robusten Prompt formulieren und Fehlerbehandlung für unerwartete Ausgaben einplanen.
1. Warum Kategorisierung?
In der Praxis landen in automatisierten Workflows selten nur die Dokumente, die man erwartet. Ein E-Mail-Postfach empfängt neben Rechnungen auch Lieferscheine, Angebote, Spam und interne Mails. Eine E-Mail kann mehrere Anhänge unterschiedlicher Art enthalten. Und ein SMB Share kann Dateien verschiedenster Typen aufnehmen.
Bevor ein Dokument verarbeitet werden kann, muss der Workflow wissen, womit er es zu tun hat. Die Kategorisierung ist deshalb in den meisten dokumentenverarbeitenden Workflows einer der ersten Schritte — sie ist die Weiche, die bestimmt, welcher Verarbeitungspfad folgt.
42°OS unterstützt dafür zwei grundlegend verschiedene Ansätze:
- Format-basierte Kategorisierung — die Kategorie ergibt sich direkt aus dem Dateiformat
- Inhaltsbasierte Kategorisierung — die Kategorie wird durch den Generative AI Agent anhand des Dokumenteninhalts bestimmt
2. Format-basierte Kategorisierung
Manchmal ist der Dateityp bereits ausreichend, um ein Dokument eindeutig einer Kategorie zuzuordnen. Ein Beispiel aus der Praxis: In einem Fertigungsunternehmen sind 3D-Zeichnungen immer im Format .sat abgelegt. Allein die Dateiendung reicht aus, um diese Dateien von anderen Dokumenttypen zu unterscheiden.
In solchen Fällen ist kein KI-Einsatz erforderlich. Ein Switch Agent wertet die Dateiendung oder den MIME-Type aus und leitet das Dokument direkt in den passenden Verarbeitungspfad — schnell, zuverlässig und ohne Fehlerrisiko durch Modellausgaben.
[Eingehende Nachricht mit Dateiname / MIME-Type]
↓
[Switch Agent]
├── .sat → Verarbeitung 3D-Zeichnung
├── .pdf → Verarbeitung PDF-Dokument
├── .xlsx → Verarbeitung Tabelle
└── Sonstige → Fehlerbehandlung / manuelle Prüfung
💡 Faustregel: Wenn das Format eines Dokumenttyps in deinem Anwendungsfall eindeutig und stabil ist, bevorzuge immer die format-basierte Kategorisierung. Sie ist einfacher zu warten und produziert keine unerwarteten Ausgaben.
3. Inhaltsbasierte Kategorisierung mit dem Generative AI Agent
Wenn das Dateiformat allein nicht ausreicht — weil zum Beispiel Rechnungen, Lieferscheine und Angebote alle als PDF eingehen — muss der Inhalt des Dokuments analysiert werden. Das übernimmt der Generative AI Agent.
Schritt 1: Dateiinhalt bereitstellen
Bevor der Generative AI Agent ein Dokument kategorisieren kann, muss dessen Inhalt im Workflow verfügbar sein. In der Regel übernimmt das ein Read File Agent, der die Datei liest und den Inhalt als Text in die Nachricht schreibt.
[Dateiname in Nachricht]
↓
[Read File Agent] → liest Dateiinhalt, schreibt ihn in die Nachricht
↓
[Generative AI Agent] → analysiert Inhalt, gibt Kategorie aus
⚠️ Je nach Dateityp kann es Ausnahmen geben — nicht jede Datei lässt sich über einen Read File Agent direkt auslesen. In solchen Fällen müssen ggf. alternative Vorverarbeitungsschritte eingesetzt werden.
Schritt 2: Den Prompt richtig formulieren
Die Qualität der Kategorisierung steht und fällt mit dem Prompt. Der Generative AI Agent braucht ausreichend Kontext, um eine zuverlässige Entscheidung treffen zu können. Ein guter Kategorisierungs-Prompt enthält:
- Die möglichen Kategorien — eine vollständige, explizite Liste aller Kategorien, die das Modell ausgeben darf
- Erkennungsmerkmale — woran erkennt man die einzelnen Kategorien? Welche Begriffe, Strukturen oder Merkmale sind typisch?
- Rahmenbedingungen — in welchem Kontext arbeitet der Workflow? An wen sind die Dokumente gerichtet? Welche Besonderheiten gibt es?
- Strikte Ausgabeanweisung — der Prompt muss explizit darauf hinweisen, dass der Output ausschließlich den Namen der Kategorie enthalten darf — nichts weiter
Der letzte Punkt ist entscheidend: Ohne diese Anweisung gibt das Modell häufig vollständige Sätze aus wie "Dieses Dokument ist eine Rechnung." — was im nachgelagerten Switch Agent nicht als Kategorie erkannt wird.
Beispiel für eine Ausgabeanweisung im Prompt:
Antworte ausschließlich mit dem Namen der Kategorie. Gib keine Erklärungen,
keine Sätze und keinen zusätzlichen Text aus. Erlaubte Ausgaben:
"Rechnung", "Lieferschein", "Angebot", "Sonstiges"
Schritt 3: Kategorien per Switch Agent weiterleiten
Nach dem Generative AI Agent folgt ein Switch Agent, der die ausgegebene Kategorie auswertet und das Dokument in den entsprechenden Verarbeitungspfad leitet.
[Generative AI Agent]
↓
[Switch Agent]
├── "Rechnung" → Rechnungsverarbeitung
├── "Lieferschein" → Lieferscheinverarbeitung
├── "Angebot" → Angebotsverarbeitung
├── "Sonstiges" → allgemeine Ablage / Benachrichtigung
└── Keine Übereinstimmung → Fehlerbehandlung (siehe unten)
4. Fehlerbehandlung: Was tun, wenn die Kategorisierung fehlschlägt?
Trotz gut formuliertem Prompt gibt es eine Restwahrscheinlichkeit, dass der Generative AI Agent mehr als nur den Kategorienamen ausgibt — zum Beispiel einen erklärenden Satz oder eine unerwartete Formulierung. Der Switch Agent findet dann keine passende Bedingung.
Dieser Fall muss im Workflow explizit behandelt werden. Empfohlenes Vorgehen:
- Im Switch Agent einen Fallback-Pfad einrichten, der greift, wenn keine der definierten Kategorien erkannt wird.
- Über diesen Pfad einen zuständigen Mitarbeiter per E-Mail benachrichtigen — inklusive der Originaldatei als Anhang und einem Hinweis, dass die automatische Kategorisierung fehlgeschlagen ist.
- Der Mitarbeiter kann das Dokument dann manuell prüfen und den Prozess von Hand anstoßen.
💡 Diese Fallback-Logik ist kein Zeichen eines schlechten Workflows — sie ist ein Zeichen eines robusten. Kein KI-Modell kategorisiert mit 100 % Trefferquote. Der Workflow muss mit Ausnahmen umgehen können.
5. Typischer Anwendungsfall: Eingehende E-Mail-Anhänge kategorisieren
Das häufigste Szenario für inhaltsbasierte Kategorisierung ist der E-Mail-Eingang. Hier greifen zwei Herausforderungen ineinander, die in den vorangegangenen Kapiteln bereits beschrieben wurden:
Erstens: Man weiß nie, welche E-Mails eingehen. Neben den erwarteten Dokumenten kommen auch Spam, interne Mails und irrelevante Anhänge an. Die Kategorisierung filtert das heraus.
Zweitens: Eine E-Mail kann mehrere Anhänge enthalten — und jeder Anhang kann eine andere Kategorie haben. Die Kategorisierung muss deshalb pro Anhang erfolgen, nicht pro E-Mail.
Der typische Ablauf kombiniert die Muster aus den vorangegangenen Kapiteln:
[Incoming Mail Agent / MS Graph Email Agent]
↓
[JSON Split Agent] → vereinzelt Anhänge
↓
[Read File Agent] → liest Dateiinhalt
↓
[Generative AI Agent] → kategorisiert Inhalt
↓
[Switch Agent] → leitet je nach Kategorie weiter
├── "Rechnung" → Rechnungsverarbeitung
├── "Lieferschein" → Lieferscheinverarbeitung
├── "Spam / Sonstiges" → verwerfen
└── Kein Match → Mitarbeiter benachrichtigen
🔗 Voraussetzung für diesen Aufbau: [[E-Mail-Anhänge korrekt verarbeiten]]
6. Zusammenfassung
| Situation | Empfohlener Ansatz |
|---|---|
| Dateityp ist eindeutiges Merkmal | Switch Agent auf Dateiendung / MIME-Type |
| Inhalt entscheidet über Kategorie | Read File Agent → Generative AI Agent → Switch Agent |
| Mehrere Anhänge pro E-Mail | JSON Split Agent vor der Kategorisierung |
| Unerwartete Modellausgabe | Fallback-Pfad im Switch Agent → Mitarbeiter benachrichtigen |
| Prompt-Qualität verbessern | Kategorien explizit benennen, Erkennungsmerkmale beschreiben, Ausgabe strikt einschränken |
📹 Video zu diesem Kapitel: [Platzhalter — Screencast: Kategorisierungs-Workflow aufbauen — vom Read File Agent bis zum Switch Agent] 📸 Screenshots: [Platzhalter — Generative AI Agent Prompt-Konfiguration, Switch Agent mit Fallback-Pfad]
Vorheriges Kapitel: [[Dateien von SMB Share verarbeiten]] Nächstes Kapitel: [[Daten aus Dokumenten extrahieren und strukturieren]]